package com.fdh.myjdbcutil;

import java.lang.annotation.*;

/**
 * 字段注解,用于标注需要操作的字段
 * <p>
 * 2.0版本后需要处理的字段必须使用此注解
 *
 * @author fdh
 * @version 1.0
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ColumnField {
    /**
     * 字段操作类型枚举
     * <p>set为只注入,get为只提取,all为都支持</p>
     */
    enum Type {
        SET, GET, ALL
    }

    /**
     * 字段操作类型,默认是all
     *
     * @return 字段操作类型
     */
    Type type() default Type.ALL;

    /**
     * 是否为主键
     *
     * @return 是否为主键
     */
    boolean isPrimaryKey() default false;

    /**
     * 该字段对应的列名
     *
     * @return 列名
     */
    String colName() default "";
}
